import { fileURLToPath, URL } from 'node:url'

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue';
import vueSetupExtend from 'vite-plugin-vue-setup-extend-plus';




// https://vitejs.dev/config/
//export default defineConfig({
  export default defineConfig(({mode})=>{
    const env = loadEnv(mode, process.cwd())
    return {
      //base:'mxg',
      server: {
        port: 8088, //开发环境端口号
        open: true, //启动项目自动打开浏览器访问
        host: '0.0.0.0',  //开放给所有IP访问此项目
        noImplicitAny: false, // 不允许使用隐式的 any 类型
        allowJs: false, //  allowJs 指定源目录的 JavaScript 文件是否原样拷贝到编译后的目录
        proxy: {
          //'^/dev-api': {
          [env.VITE_APP_BASE_API]: {
            //target: 'https://mock.mengxuegu.com/mock/65f78986838cf807b819d3fe/micro-app',
            target: env.VITE_APP_SERVICE_URL,
            //rewrite: (path)=>path.replace(/^\/dev-api/, ''),
            rewrite: (path)=>path.replace(new RegExp(`^${env.VITE_APP_BASE_API}/`),''),
            changeOrigin: false,//是否跨域
          }
        }
      },
      build: {
        outDir: "dist",      // 默认dist，打包后输出文件
        assetsDir: "assets", // 默认assets，指定静态资源存放路径
        sourcemap: false,    // 默认false，是否构建sourcemap文件（生产不需要）
        minify: 'terser',     // vite默认构建是esbuild,需安装terser npm i -D terser
        terserOptions: {
          // 生产环境移除console、debugger
          compress: {
            drop_console: true,   // 默认false
            drop_debugger: true,  // 默认true
          },
        },
      },
      plugins: [
        vue(),
        vueSetupExtend(),
      ],
      resolve: {
        alias: {
          '@': fileURLToPath(new URL('./src', import.meta.url))
        }
      }
    }
  });

